package com.dragon.modules.yuegou.entity.busd;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.busd.WithdrawConfigType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商圈提现设置实体类<br>
 * 对应的表为：busd_withdraw_config<br>
 * 
 * @author pbuilder generated
 * @date 2019-07-30 16:36:57
 * @company sgy
 * @version 2.0
 */
@TableName("busd_withdraw_config")
@ApiModel(description = "商圈提现设置")
public class WithdrawConfigEntity {
	@ApiModelProperty("ID")
	protected String id;

    /**  */
	protected String busdId;

    /** 每月提现次数；-1表示不限 */
	@ApiModelProperty("每月提现次数；-1表示不限")
	protected Integer withdrawTimes;

    /** 提现时间T+n */
	@ApiModelProperty("提现时间T+n")
	protected Integer withdrawDuration;

    /** 提现最小金额 */
	@ApiModelProperty("提现最小金额")
	protected BigDecimal withdrawMinAmount;

    /** 提现最大金额 */
	@ApiModelProperty("提现最大金额")
	protected BigDecimal withdrawMaxAmount;

    /** 手续费比例 */
	@ApiModelProperty("手续费比例")
	protected BigDecimal feeRatio;

    /** [枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE */
	@ApiModelProperty("[枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE")
	protected WithdrawConfigType type;

    /** 服务费比例 */
	@ApiModelProperty("服务费比例")
	protected BigDecimal serviceFeeRatio;

    /** 保证金比例 如 5% 填写的是5 */
	@ApiModelProperty("保证金比例 如 5% 填写的是5")
	protected BigDecimal marginRatio;

    /** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 更新人ID */
	@ApiModelProperty("更新人ID")
	protected String modifiedBy;

    /** 更新时间 */
	@ApiModelProperty("更新时间")
	protected LocalDateTime modifiedTime;

    /** 逻辑删除，1表示已删除,0表示未删除 */
	@ApiModelProperty("逻辑删除，1表示已删除,0表示未删除")
	protected Boolean del;

    /** 删除人ID */
	@ApiModelProperty("删除人ID")
	protected String delBy;

    /** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

	/**
	 * 构造一个空商圈提现设置实体对象
	 */
	public WithdrawConfigEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个商圈提现设置实体对象
	 * 
	 * @param other 其它对象
	 */
	public WithdrawConfigEntity(WithdrawConfigEntity other){
		super();
     	this.id = other.id;
     	this.busdId = other.busdId;
     	this.withdrawTimes = other.withdrawTimes;
     	this.withdrawDuration = other.withdrawDuration;
     	this.withdrawMinAmount = other.withdrawMinAmount;
     	this.withdrawMaxAmount = other.withdrawMaxAmount;
     	this.feeRatio = other.feeRatio;
     	this.type = other.type;
     	this.serviceFeeRatio = other.serviceFeeRatio;
     	this.marginRatio = other.marginRatio;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
	}


	/**
	 * 获取ID
	 * 
	 * @return id ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置ID
	 * 
	 * @param id ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取
	 * 
	 * @return busdId 
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param busdId 
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取每月提现次数；-1表示不限
	 * 
	 * @return withdrawTimes 每月提现次数；-1表示不限
	 */
	public Integer getWithdrawTimes() {
		return withdrawTimes;
	}
  	
	/**
	 * 设置每月提现次数；-1表示不限
	 * 
	 * @param withdrawTimes 每月提现次数；-1表示不限
	 */
	public void setWithdrawTimes(Integer withdrawTimes) {
		this.withdrawTimes = withdrawTimes;
	}

	/**
	 * 获取提现时间T+n
	 * 
	 * @return withdrawDuration 提现时间T+n
	 */
	public Integer getWithdrawDuration() {
		return withdrawDuration;
	}
  	
	/**
	 * 设置提现时间T+n
	 * 
	 * @param withdrawDuration 提现时间T+n
	 */
	public void setWithdrawDuration(Integer withdrawDuration) {
		this.withdrawDuration = withdrawDuration;
	}

	/**
	 * 获取提现最小金额
	 * 
	 * @return withdrawMinAmount 提现最小金额
	 */
	public BigDecimal getWithdrawMinAmount() {
		return withdrawMinAmount;
	}
  	
	/**
	 * 设置提现最小金额
	 * 
	 * @param withdrawMinAmount 提现最小金额
	 */
	public void setWithdrawMinAmount(BigDecimal withdrawMinAmount) {
		this.withdrawMinAmount = withdrawMinAmount;
	}

	/**
	 * 获取提现最大金额
	 * 
	 * @return withdrawMaxAmount 提现最大金额
	 */
	public BigDecimal getWithdrawMaxAmount() {
		return withdrawMaxAmount;
	}
  	
	/**
	 * 设置提现最大金额
	 * 
	 * @param withdrawMaxAmount 提现最大金额
	 */
	public void setWithdrawMaxAmount(BigDecimal withdrawMaxAmount) {
		this.withdrawMaxAmount = withdrawMaxAmount;
	}

	/**
	 * 获取手续费比例
	 * 
	 * @return feeRatio 手续费比例
	 */
	public BigDecimal getFeeRatio() {
		return feeRatio;
	}
  	
	/**
	 * 设置手续费比例
	 * 
	 * @param feeRatio 手续费比例
	 */
	public void setFeeRatio(BigDecimal feeRatio) {
		this.feeRatio = feeRatio;
	}

	/**
	 * 获取[枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE
	 * 
	 * @return type [枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE
	 */
	public WithdrawConfigType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE
	 * 
	 * @param type [枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE
	 */
	public void setType(WithdrawConfigType type) {
		this.type = type;
	}

	/**
	 * 获取服务费比例
	 * 
	 * @return serviceFeeRatio 服务费比例
	 */
	public BigDecimal getServiceFeeRatio() {
		return serviceFeeRatio;
	}
  	
	/**
	 * 设置服务费比例
	 * 
	 * @param serviceFeeRatio 服务费比例
	 */
	public void setServiceFeeRatio(BigDecimal serviceFeeRatio) {
		this.serviceFeeRatio = serviceFeeRatio;
	}

	/**
	 * 获取保证金比例 如 5% 填写的是5
	 * 
	 * @return marginRatio 保证金比例 如 5% 填写的是5
	 */
	public BigDecimal getMarginRatio() {
		return marginRatio;
	}
  	
	/**
	 * 设置保证金比例 如 5% 填写的是5
	 * 
	 * @param marginRatio 保证金比例 如 5% 填写的是5
	 */
	public void setMarginRatio(BigDecimal marginRatio) {
		this.marginRatio = marginRatio;
	}

	/**
	 * 获取创建人ID
	 * 
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人ID
	 * 
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取更新人ID
	 * 
	 * @return modifiedBy 更新人ID
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置更新人ID
	 * 
	 * @param modifiedBy 更新人ID
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return modifiedTime 更新时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime 更新时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @return del 逻辑删除，1表示已删除,0表示未删除
	 */
	public Boolean getDel() {
		return del;
	}
  	
	/**
	 * 设置逻辑删除，1表示已删除,0表示未删除
	 * 
	 * @param del 逻辑删除，1表示已删除,0表示未删除
	 */
	public void setDel(Boolean del) {
		this.del = del;
	}

	/**
	 * 获取删除人ID
	 * 
	 * @return delBy 删除人ID
	 */
	public String getDelBy() {
		return delBy;
	}
  	
	/**
	 * 设置删除人ID
	 * 
	 * @param delBy 删除人ID
	 */
	public void setDelBy(String delBy) {
		this.delBy = delBy;
	}

	/**
	 * 获取删除时间
	 * 
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
		return delTime;
	}
  	
	/**
	 * 设置删除时间
	 * 
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
		this.delTime = delTime;
	}

    public String toString() {
		return new StringBuilder().append("WithdrawConfigEntity{").
			append("id=").append(id).
			append(",busdId=").append(busdId).
			append(",withdrawTimes=").append(withdrawTimes).
			append(",withdrawDuration=").append(withdrawDuration).
			append(",withdrawMinAmount=").append(withdrawMinAmount).
			append(",withdrawMaxAmount=").append(withdrawMaxAmount).
			append(",feeRatio=").append(feeRatio).
			append(",type=").append(type).
			append(",serviceFeeRatio=").append(serviceFeeRatio).
			append(",marginRatio=").append(marginRatio).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public WithdrawConfigEntity copy() {
		return new WithdrawConfigEntity(this);
	}

    /** ID */
	public static final String COL_ID = "id";

    /**  */
	public static final String COL_BUSD_ID = "busd_id";

    /** 每月提现次数；-1表示不限 */
	public static final String COL_WITHDRAW_TIMES = "withdraw_times";

    /** 提现时间T+n */
	public static final String COL_WITHDRAW_DURATION = "withdraw_duration";

    /** 提现最小金额 */
	public static final String COL_WITHDRAW_MIN_AMOUNT = "withdraw_min_amount";

    /** 提现最大金额 */
	public static final String COL_WITHDRAW_MAX_AMOUNT = "withdraw_max_amount";

    /** 手续费比例 */
	public static final String COL_FEE_RATIO = "fee_ratio";

    /** [枚举]服务费收取方式：0-按统一比例-UNITE、1-按业态收取-TYPE */
	public static final String COL_TYPE = "type";

    /** 服务费比例 */
	public static final String COL_SERVICE_FEE_RATIO = "service_fee_ratio";

    /** 保证金比例 如 5% 填写的是5 */
	public static final String COL_MARGIN_RATIO = "margin_ratio";

    /** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 更新人ID */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 更新时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 逻辑删除，1表示已删除,0表示未删除 */
	public static final String COL_DEL = "del";

    /** 删除人ID */
	public static final String COL_DEL_BY = "del_by";

    /** 删除时间 */
	public static final String COL_DEL_TIME = "del_time";
}
